home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / wins_overflow.nasl < prev    next >
Text File  |  2005-01-14  |  2KB  |  71 lines

  1. #
  2. # (C) Tenable Network Security
  3. #
  4.  
  5. if(description)
  6. {
  7.  script_id(15912);
  8.  script_version("$Revision: 1.2 $");
  9.  script_bugtraq_id(9624);
  10.  script_cve_id("CAN-2003-0825");
  11.  
  12.  script_version("$Revision: 1.2 $");
  13.  name["english"] = "WINS Buffer Overflow (830352 - netbios check)";
  14.  
  15.  script_name(english:name["english"]);
  16.  
  17.  desc["english"] = "
  18. The remote Windows Internet Naming Service (WINS) is vulnerable to a 
  19. flaw which could allow an attacker to execute arbitrary code on this host.
  20.  
  21. To exploit this flaw, an attacker would need to send a specially crafted
  22. packet with improperly advertised lengths.
  23.  
  24. Solution : http://www.microsoft.com/technet/security/bulletin/MS04-006.mspx
  25. Risk factor : High";
  26.  
  27.  script_description(english:desc["english"]);
  28.  
  29.  summary["english"] = "Determines if hotfix 830352 has been installed (Netbios)";
  30.  
  31.  script_summary(english:summary["english"]);
  32.  
  33.  script_category(ACT_GATHER_INFO);
  34.  
  35.  script_copyright(english:"This script is Copyright (C) 2004 Tenable Network Security");
  36.  family["english"] = "Windows";
  37.  script_family(english:family["english"]);
  38.  
  39.  script_dependencies("netbios_name_get.nasl");
  40.  script_require_ports(137);
  41.  exit(0);
  42. }
  43.  
  44. include ('smb_nt.inc');
  45.  
  46.  
  47. if ( get_kb_item("SMB/samba") ) exit(0);
  48.  
  49. port = 137;
  50. soc = open_sock_udp(port);
  51. if ( ! soc ) exit(0);
  52.  
  53.  
  54. request = raw_string (0x83, 0x98, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  55.               0x3E, 0x46, 0x45, 0x45, 0x46, 0x45, 0x4f, 0x45, 0x42, 0x45, 0x43, 0x45,
  56.                       0x4d, 0x45, 0x46 ) + crap (data:"A", length:48) +
  57.               crap (data:raw_string(0x3F), length:192) + 
  58.               raw_string (0x22) + crap (data:raw_string (0x3F), length:34) + 
  59.                       raw_string ( 0x00, 0x00, 0x20, 0x00, 0x01); 
  60.  
  61. send(socket:soc, data:request);
  62.  
  63. r = recv(socket:soc, length:4096);
  64. if (!r) exit (0);
  65.  
  66. r = substr (r, 13, 17);
  67.  
  68. if ("FEEFE" >< r)
  69.   security_hole (port);
  70.  
  71.